# !/usr/bin python3                                 
# encoding: utf-8 -*-                            
# @author: 沙陌 微信：Matongxue_2
# @Time: 2021-12-20 9:29
# @Copyright：北京码同学

import time

from faker import Faker

fake = Faker(locale='zh_CN')


def rdm_phone_number():
    return fake.phone_number()


def cur_timestamp(level='s'):  # 到毫秒级的时间戳
    if level == 's':
        return int(time.time())  # 10位时间戳，精确到秒
    elif level == 'ms':
        return int(time.time() * 1000)  # 13位时间戳，精确到毫秒 -- 这个很少
    else:
        raise Exception(f'{level}不支持')


def gen_timestamp(start_date='+0d', end_date='+1d'):
    # 在设定时间范文内随机生成一个随机日期，并将其转化为Unix时间戳
    # 在2024年7月6日（+0d）到2024年7月7日 （+1d）生成一个随机日期，这里是包括起始日期和结束日期的
    # +7d： 当前日期的后7天起 ，就是当前日期+7
    date_time = fake.date_time_between(start_date=start_date, end_date=end_date)
    print(f'date_time:{date_time}')   # 这个是时间日期对象：2024-09-07 16:22:31
    return int(time.mktime(date_time.timetuple()))  # 1725697351


def cur_date():  # 2022-09-29
    return fake.date_between_dates()


def cur_date_time():  # 2022-09-29 10:07:33
    return fake.date_time_between_dates()


def rdm_date(pattern='%Y-%m-%d'):
    return fake.date(pattern=pattern)


def rdm_date_time():
    return fake.date_time()


import datetime


def get_days_difference(timestamp1, timestamp2):
    # 转换为 datetime 对象
    date1 = datetime.datetime.fromtimestamp(timestamp1)
    date2 = datetime.datetime.fromtimestamp(timestamp2)

    # 计算差值
    diff = date2 - date1

    # 提取差值的天数部分
    days = diff.days

    return days


if __name__ == '__main__':
    print(rdm_phone_number())
    print(rdm_date())
    print(rdm_date_time())
    print(cur_date())
    print(cur_timestamp())
    print(cur_date_time())
    # print(time.time())
    # print(time.time()*1000)
    print(gen_timestamp(start_date="-10d", end_date='+7d'))  # day
    print(f'gen_timestamp:{gen_timestamp(start_date="+0d", end_date="+7d")}')
    print(gen_timestamp('-7d', '-6d'))
    # 示例用法
    timestamp1 = 1630000000  # 第一个时间戳（假设较早的时间戳）
    timestamp2 = 1631000000  # 第二个时间戳（假设较晚的时间戳）

    difference = get_days_difference(timestamp1, timestamp2)
    print("两个时间戳相差的天数：", difference)
